Session Initiation Protocol (SIP) is an open signaling protocol for establishing many kinds of real-time communication sessions. Examples of the types of communication sessions that may be established using SIP include voice, video, games, applications, and/or instant messaging. These communication sessions may be carried out on any type of communication device such as a personal computer, laptop computer, Personal Digital Assistant (PDA), cellular phone, IM client, IP phone, traditional telephone, server applications, aggregates of applications, desktop applications, and so on.
One key feature of SIP is its ability to use an Address of Record (AOR) as a single unifying public address for all communications to end-users, applications, and service provider networks. Thus, in a world of SIP-enhanced communications, a user's AOR becomes their single address that links the user to all of the communication devices associated with the user. Using this AOR, a caller can reach any one of the user's communication devices, also referred to as User Agents (UAs) without having to know each of the unique device addresses or phone numbers.
Many SIP application servers exist for the purposes of enabling communications applications in a SIP environment and for serving as outbound proxies for a UA, thereby allowing complex networks to be built while hiding that complexity through proxies that devices use to connect into the network. One of the principle areas for such communications applications is call control of a SIP UA. There are currently very few solutions to the problem of providing a survivable SIP network configuration. One way survivability has been provided in the past was through the use of SIP proxies that are employed when there is no response to SIP signaling. The proxy can be used to route the signaling via one or more alternate routes in the network. The use of a separate proxy can become expensive since an additional network element other than the call controller or a gateway is required to provide survivability.
Other network server products provide geo-redundant configurations, such that the gateway is unlikely to encounter a network server failure due to the high availability of the network server. Like the use of proxies, this particular solution is relatively expensive since high availability servers need to be purchased and distributed throughout a network. Additional shortcomings of known current solutions include the fact that the network element (e.g., gateway) is not allowed to use an alternate path if the primary SIP signaling path is unavailable; such solutions require hot standby configurations with replication of data across servers; and they require primary and secondary call controllers to use exactly the same version of SIP and provide exactly the same set of SIP features to SIP endpoints.